#ifndef VIEW_H
#define VIEW_H

#include <windows.h>
#include <iostream>
#include <math.h>

#include "quaternion.h"
#include "EnvironmentSphere.h"
#include "Terrain.h"
#include "ConfigFileReader.h"

struct cameraLookAt
{
	vec3 eye;
	vec3 center;
	vec3 up;
};

class View
{
public:
	View(void);
	~View(void);

	

	void init(void);
	void update(void);
	void render(void);

	void rotateCamera(float xMotion, float yMotion);
	void zoomInCamera();
	void zoomOutCamera();
	void zoomInOutCamera(float zoomValue);

private:
	cameraLookAt mCameraLookAt;
	configFileDataStruct* mCconfigFileData;

	Terrain* mTerrain;
	EnvironmentSphere* mEnvSphere;


private:
	void drawReferential();


	float positionLight[4];
	float defaultLightAmbient[4];
	float lightAmbient[4];
	float lightSpecular[4];
	float lightDiffuse[4];

};
#endif